package contentManage

import (
	"main/src/utils"
	"time"
)

var ContentRoute = utils.Routes{
	BaseUrl: "content",
	Routes: []*utils.Route{
		{
			Path:   "/get",
			Method: "POST",
			View:   GetContent,
			Body: GetContentDto{
				GetDataLimitDto: utils.GetDataLimitDto{
					PageNum:  0,
					PageSize: 0,
				},
			},
			ResponseJson: utils.GetDataLimitResponseDto{
				Total:        0,
				Page:         0,
				NextPage:     0,
				PreviousPage: 0,
				Data: ContentInfoResponseDto{
					Id:        0,
					Article:   "",
					Cat:       0,
					CreatedAt: time.Time{},
					UpdatedAt: time.Time{},
				},
			},
		},
		{
			Path:   "/create",
			Method: "POST",
			View:   CreateContent,
			Body: CreateContentDto{
				Article: "",
				Cat:     0,
			},
			ResponseJson: ContentInfoResponseDto{
				Id:        0,
				Article:   "",
				Cat:       0,
				CreatedAt: time.Time{},
				UpdatedAt: time.Time{},
			},
		},
		{
			Path:   "/update",
			Method: "POST",
			View:   UpdateContent,
			Body: UpdateContentDto{
				Id:      0,
				Article: "",
				Cat:     "",
			},
			ResponseJson: ContentInfoResponseDto{
				Id:        0,
				Article:   "",
				Cat:       0,
				CreatedAt: time.Time{},
				UpdatedAt: time.Time{},
			},
		},
		{
			Path:         "/delete",
			Method:       "POST",
			View:         DeleteContent,
			Body:         DeleteContentDto{Id: 0},
			ResponseJson: nil,
		},
		{
			Path:   "/image/get",
			Method: "POST",
			View:   GetImage,
			Body: GetImageDto{
				GetDataLimitDto: utils.GetDataLimitDto{
					PageNum:  0,
					PageSize: 0,
				},
				Cat: "",
			},
			ResponseJson: utils.GetDataLimitResponseDto{
				Total:        0,
				Page:         0,
				NextPage:     0,
				PreviousPage: 0,
				Data: ImageInfoResponseDto{
					Id:        0,
					URL:       "",
					Cat:       0,
					CreatedAt: time.Time{},
					UpdatedAt: time.Time{},
				},
			},
		},
		{
			Path:   "/image/create",
			Method: "POST",
			View:   CreateImage,
			Body: CreateImageDto{
				URL: "",
				Cat: 0,
			},
			ResponseJson: ImageInfoResponseDto{
				Id:        0,
				URL:       "",
				Cat:       0,
				CreatedAt: time.Time{},
				UpdatedAt: time.Time{},
			},
		},
		{
			Path:   "/image/update",
			Method: "POST",
			View:   UpdateImage,
			Body: UpdateImageDto{
				Id:  0,
				URL: "",
				Cat: "",
			},
			ResponseJson: ImageInfoResponseDto{
				Id:        0,
				URL:       "",
				Cat:       0,
				CreatedAt: time.Time{},
				UpdatedAt: time.Time{},
			},
		},
		{
			Path:         "/image/delete",
			Method:       "POST",
			View:         DeleteImage,
			Body:         DeleteImageDto{Id: 0},
			ResponseJson: nil,
		},

		{
			Path:   "/keyword/get",
			Method: "POST",
			View:   GetKeyWord,
			Body: GetKeyWordDto{
				GetDataLimitDto: utils.GetDataLimitDto{
					PageNum:  0,
					PageSize: 0,
				},
				Text: "",
				Cat:  "",
			},
			ResponseJson: utils.GetDataLimitResponseDto{
				Total:        0,
				Page:         0,
				NextPage:     0,
				PreviousPage: 0,
				Data: KeywordInfoResponseDto{
					Id:        0,
					Text:      "",
					Cat:       0,
					CreatedAt: time.Time{},
					UpdatedAt: time.Time{},
				},
			},
		},
		{
			Path:   "/keyword/create",
			Method: "POST",
			View:   CreateKeyWord,
			Body: CreateKeyWordDto{
				Text: "",
				Cat:  0,
			},
			ResponseJson: KeywordInfoResponseDto{
				Id:        0,
				Text:      "",
				Cat:       0,
				CreatedAt: time.Time{},
				UpdatedAt: time.Time{},
			},
		},
		{
			Path:   "/keyword/update",
			Method: "POST",
			View:   UpdateKeyWord,
			Body: UpdateKeyWordDto{
				Id:   0,
				Text: "",
				Cat:  "",
			},
			ResponseJson: KeywordInfoResponseDto{
				Id:        0,
				Text:      "",
				Cat:       0,
				CreatedAt: time.Time{},
				UpdatedAt: time.Time{},
			},
		},
		{
			Path:         "/keyword/delete",
			Method:       "POST",
			View:         DeleteKeyWord,
			Body:         DeleteKeywordDto{Id: 0},
			ResponseJson: nil,
		},
		{
			Path:   "/keyword/export",
			Method: "POST",
			View:   ExportFileByKeywordView,
			Body: ExportFileByKeyword{
				File: nil,
				Cat:  0,
			},
			ResponseJson: []KeywordInfoResponseDto{
				{
					Id:        0,
					Text:      "",
					Cat:       0,
					CreatedAt: time.Time{},
					UpdatedAt: time.Time{},
				},
			},
		},
		{
			Path:   "/image/export",
			Method: "POST",
			View:   ExportFileByImageView,
			Body: ExportFileByImage{
				File: nil,
				Cat:  0,
			},
			ResponseJson: []ImageInfoResponseDto{
				{
					Id:        0,
					URL:       "",
					Cat:       0,
					CreatedAt: time.Time{},
					UpdatedAt: time.Time{},
				},
			},
		},
	},
}
